load("@fbsource//tools/build_defs:rust_binary.bzl", "rust_binary")

oncall("scm_server_infra")

rust_binary(
    name = "worker",
    srcs = glob(["src/**/*.rs"]),
    crate_root = "src/main.rs",
    test_deps = [
        "//common/rust/shed/fbinit:fbinit-tokio",
        "//eden/mononoke/features/async_requests:requests_table",
        "//eden/mononoke/mononoke_macros:mononoke_macros",
    ],
    deps = [
        "fbsource//third-party/rust:anyhow",
        "fbsource//third-party/rust:async-stream",
        "fbsource//third-party/rust:async-trait",
        "fbsource//third-party/rust:clap",
        "fbsource//third-party/rust:futures",
        "fbsource//third-party/rust:tokio",
        "fbsource//third-party/rust:tracing",
        "//common/rust/shed/cloned:cloned",
        "//common/rust/shed/fbinit:fbinit",
        "//common/rust/shed/futures_stats:futures_stats",
        "//common/rust/shed/hostname:hostname",
        "//common/rust/shed/stats:stats",
        "//eden/mononoke/blobstore:blobstore",
        "//eden/mononoke/blobstore:ephemeral_blobstore",
        "//eden/mononoke/cmdlib:cmdlib_logging",
        "//eden/mononoke/cmdlib:environment",
        "//eden/mononoke/cmdlib/mononoke_app:mononoke_app",
        "//eden/mononoke/cmdlib/sharding:executor_lib",
        "//eden/mononoke/cmdlib/sharding_ext:sharding_ext",
        "//eden/mononoke/common/futures_watchdog:futures_watchdog",
        "//eden/mononoke/features/async_requests:async_requests",
        "//eden/mononoke/features/async_requests:async_requests_client",
        "//eden/mononoke/features/async_requests:requests_table",
        "//eden/mononoke/features/async_requests/if:async_requests_types-thrift-rust",
        "//eden/mononoke/megarepo_api:megarepo_api",
        "//eden/mononoke/megarepo_api:megarepo_error",
        "//eden/mononoke/metaconfig:metaconfig_types",
        "//eden/mononoke/mononoke_api:mononoke_api",
        "//eden/mononoke/mononoke_macros:mononoke_macros",
        "//eden/mononoke/mononoke_types:mononoke_types",
        "//eden/mononoke/repo_authorization:repo_authorization",
        "//eden/mononoke/scs/if:source_control-rust",
        "//eden/mononoke/scs/scs_errors:scs_errors",
        "//eden/mononoke/scs/scs_methods:scs_methods",
        "//eden/mononoke/server/context:context",
    ],
)
